package at.chl.genetic.function.math.factory;

import at.chl.genetic.function.math.AbstractMathFunction;
import at.chl.genetic.function.math.AddFunction;
import at.chl.genetic.function.math.IfFunction;
import at.chl.genetic.function.math.SubFunction;
import at.chl.genetic.function.math.ifstatement.IIfStatement;
import at.chl.genetic.function.math.request.IIfStatementRequest;
import at.chl.genetic.function.math.request.IfStatementRequest;
import at.chl.genetic.function.math.request.MathFunctionRequest;

public class MathFunctionFactory {

	public static AddFunction createAddFunction() {
		AddFunction function=new AddFunction();
		return function;
	}

	public static SubFunction createSubFunction() {
		SubFunction function=new SubFunction();
		return function;
	}

	public static IIfStatementRequest createIfStatementRequest(Long x,Long y, MathFunctionRequest functionRequest) {
		
		IIfStatementRequest request=new IfStatementRequest();
		request.setFunctionRequest(functionRequest);
		request.setX(x);
		request.setY(y);
		
		return request;
	}

	public static AbstractMathFunction createIfFunction(IIfStatement statement) {
		IfFunction function=new IfFunction(statement);
		return function;
	}

}
